package com.letv.whatslive.model.convert;

import com.letv.whatslive.model.BusinessCooperation;
import com.letv.whatslive.model.PaikeInstitution;
import com.letv.whatslive.model.utils.ObjUtils;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import org.apache.commons.lang3.StringUtils;

/**
 * Created by shenyue on 16-3-21.
 */
public class PaikeInstitutionConvert {

    public static DBObject castPaikeInstitutionToDBObject(PaikeInstitution paikeInstitution) {
        DBObject dbo = new BasicDBObject();
        if (paikeInstitution.getId() != null) {
            dbo.put("_id", paikeInstitution.getId());
        }
        if (paikeInstitution.getUserId() != null) {
            dbo.put("userId", paikeInstitution.getUserId());
        }
        dbo.put("institutionName", ObjUtils.ifNull(paikeInstitution.getInstitutionName(), ""));
        if (StringUtils.isNotBlank(paikeInstitution.getMediaType())) {
            dbo.put("mediaType", ObjUtils.toString(paikeInstitution.getMediaType()));
        }
        if(StringUtils.isNotBlank(paikeInstitution.getCompanyContacter()))
            dbo.put("companyContacter", ObjUtils.toString(paikeInstitution.getCompanyContacter()));
        if(StringUtils.isNotBlank(paikeInstitution.getCompanyContacterPhoneNo()))
            dbo.put("companyContacterPhoneNo", ObjUtils.toString(paikeInstitution.getCompanyContacterPhoneNo()));
        if(StringUtils.isNotBlank(paikeInstitution.getEmail()))
            dbo.put("email", ObjUtils.toString(paikeInstitution.getEmail()));
        dbo.put("createTime", ObjUtils.toLong(paikeInstitution.getCreateTime(), System.currentTimeMillis()));
        dbo.put("updateTime", ObjUtils.toLong(paikeInstitution.getUpdateTime(), System.currentTimeMillis()));
        if(paikeInstitution.getCreateByPersonLoginName()!=null)
            dbo.put("createByPersonLoginName",ObjUtils.toString(paikeInstitution.getCreateByPersonLoginName()));
        dbo.put("agreement", ObjUtils.ifNull(paikeInstitution.getAgreement(), ""));
        dbo.put("bankCardNo", ObjUtils.ifNull(paikeInstitution.getBankCardNo(), ""));
        if (paikeInstitution.getBankId() != null) {
            dbo.put("bankId", paikeInstitution.getBankId());
        }
        if(paikeInstitution.getCreateByPersonLoginName()!=null)
            dbo.put("createByPersonLoginName",ObjUtils.toString(paikeInstitution.getCreateByPersonLoginName()));

        return dbo;
    }

    public static PaikeInstitution castDBObjectToPaikeInstitution(DBObject dbObject){
        if(dbObject != null) {
            PaikeInstitution paikeInstitution = new PaikeInstitution();
            paikeInstitution.setId(ObjUtils.toLong(dbObject.get("_id")));
            paikeInstitution.setUserId(ObjUtils.toLong(dbObject.get("userId")));
            paikeInstitution.setInstitutionName(ObjUtils.toString(dbObject.get("institutionName")));
            paikeInstitution.setMediaType(ObjUtils.toString(dbObject.get("mediaType")));
            paikeInstitution.setCompanyContacter(ObjUtils.toString(dbObject.get("companyContacter")));
            paikeInstitution.setCompanyContacterPhoneNo(ObjUtils.toString(dbObject.get("companyContacterPhoneNo")));
            paikeInstitution.setCreateTime(ObjUtils.toLong(dbObject.get("createTime")));
            paikeInstitution.setUpdateTime(ObjUtils.toLong(dbObject.get("updateTime")));
            paikeInstitution.setAgreement(ObjUtils.toString(dbObject.get("agreement"), ""));
            paikeInstitution.setCreateByPersonLoginName(ObjUtils.toString(dbObject.get("createByPersonLoginName")));
            paikeInstitution.setBankCardNo(ObjUtils.toString(dbObject.get("bankCardNo"), ""));
            paikeInstitution.setBankId(ObjUtils.toLong(dbObject.get("bankId")));
            paikeInstitution.setEmail(ObjUtils.toString(dbObject.get("email"), ""));
            return paikeInstitution;
        }else{
            return null;
        }

    }
}
